<!--
  文件描述：
  创建时间：2023/6/17 12:46
  创建人：LiCY
-->
<template>
  <div class="">
    <a-select placeholder="请选择工站" v-model=value @change="handleChange" :disabled=disable>
      <a-select-option :value="undefined">请选择</a-select-option>
      <a-select-option v-for="(item, key) in options" :key="key" :value="item.op">
                  <span style="display: inline-block;width: 100%" :title=" item.op">
                    {{ item.description + '-' + item.op }}
                  </span>
      </a-select-option>
    </a-select>
  </div>
</template>

<script>
// 这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
// 例如：import 《组件名称》 from '《组件路径》';
// 例如：import uploadFile from '@/components/uploadFile/uploadFile'

import { getAction } from '@api/manage'

export default {
  name: 'OpSelect',
  // import引入的组件需要注入到对象中才能使用
  components: {},
  props: {
    line: {
      type: String,
      default: ''
    },
    disable: Boolean,
    placeholder: String
  },
  data() {
    // 这里存放数据
    return {
      value: '',
      options: [],
      getOpSelect: '/basic/mesLineOpCfg/opSelect'
    }
  },
  // 监听属性 类似于data概念
  computed: {
    getValueSting() {
      // update-begin author:wangshuai date:20200601 for: 不显示placeholder的文字 ------
      // 当有null或“” placeholder不显示
      return this.value != null ? this.value.toString() : undefined
      // update-end author:wangshuai date:20200601 for: 不显示placeholder的文字 ------
    }
  },
  // 方法集合
  methods: {
    handleChange(val) {
      this.$emit('change', val)
      this.$emit('input', val)
    }
  },
  // 监控data中的数据变化
  watch: {
    line(val) {
      if (val) {
        getAction(this.getOpSelect, { line: val }).then((res) => {
          if (res.success) {
            this.options = res.result
          }
          if (res.code === 510) {
            this.$message.warning(res.message)
          }
        })
      } else {
        this.options = []
        this.value = ''
      }

    }
  },
  // 生命周期 - 创建完成（可以访问当前this实例）
  created() {
    if (this.line) {
      getAction(this.getOpSelect, { line: this.line }).then((res) => {
        if (res.success) {
          this.options = res.result
        }
        if (res.code === 510) {
          this.$message.warning(res.message)
        }
      })
    } else {
      this.options = []
      this.value = ''
    }
  },
  // 生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {

  },
  beforeCreate() {
  }, // 生命周期 - 创建之前
  beforeMount() {
  }, // 生命周期 - 挂载之前
  beforeUpdate() {
  }, // 生命周期 - 更新之前
  updated() {
  }, // 生命周期 - 更新之后
  beforeDestroy() {
  }, // 生命周期 - 销毁之前
  destroyed() {
  }, // 生命周期 - 销毁完成
  activated() {
  } // 如果页面有keep-alive缓存功能，这个函数会触发
}
</script>

<style scoped>
</style>